package cate.game.play.skill.active;

import cate.game.play.fighter.Fighter;
import cate.game.play.proce.action.ctx.SkillActionCtx;
import cate.game.play.proce.round.RoundCtx;
import cate.game.play.skill.Skill;
import cate.game.play.skill.effect.SkillEffect;
import easy.java.dev.note.NoteClass;
import easy.java.dev.note.NoteField;

@NoteClass("技能主动脚本处理器")
public class ActiveHandler {

	@NoteField("所属技能")
	protected Skill skill;

	public void setSkill(Skill skill) {
		this.skill = skill;
	}

	public Skill getSkill() {
		return this.skill;
	}


	public void parse(String code) {
	}

	public void parseExt(String code){
	}

	/**
	 * 因为cd选取要释放本技能时
	 * @param round
	 */
	public void onPreSelectByCD(RoundCtx round){

	}

	/**
	/**
	 * 目标选择后的技能处理
	 * @param action
	 * @param effect
	 */
	public void afterSelectTargets(SkillActionCtx action, SkillEffect effect) {

	}

	/**
	 * 单个目标技能效果结算前的脚本处理
	 * @param action
	 * @param effect
	 * @param target
	 */
	public void beforeSingleEffect(SkillActionCtx action, SkillEffect effect, Fighter target) {

	}

	/**
	 * 单个目标技能效果结算后的脚本处理
	 * @param action
	 * @param effect
	 * @param target
	 */
	public void afterSingleEffect(SkillActionCtx action, SkillEffect effect, Fighter target) {

	}

	/**
	 * 技能整体效果结算完
	 * @param action
	 */
	public void onSkillDone(SkillActionCtx action) {

	}
}
